package com.turato.json.gson;

import com.google.gson.Gson;

import java.lang.reflect.Type;

/**
 * @author tuhao
 * @date 2020/11/10 4:37 下午
 * @desc gson 工具类
 */
public class GsonUtil {
    private static final Gson gson = new Gson();

    private GsonUtil() {
    }

    /**
     * 对象转json串
     *
     * @param obj 转换的对象
     * @return json串
     */
    public static String toJson(Object obj) {
        return gson.toJson(obj);
    }

    /**
     * @param gsonString json串
     * @param cls        类
     * @param <T>        类
     * @return 类
     */
    public static <T> T fromJson(String gsonString, Class<T> cls) {
        return gson.fromJson(gsonString, cls);
    }

    /**
     *
     * @param gsonString
     * @param typeOfT
     * @param <T>
     * @return
     */
    public static  <T> T fromJson(String gsonString, Type typeOfT) {
        return gson.fromJson(gsonString, typeOfT);
    }
}
